package remote.controls
{
	import remote.layouts.ILayout;
	import remote.skins.ISkin;

	/**
	 * 组件接口 
	 * @author xjj
	 * 
	 */	
	public interface IComponent
	{
		/**
		 * 设置尺寸 
		 * @param width 宽度
		 * @param height 高度
		 * 
		 */		
		function setSize(width:Number, height:Number):void;
		
		/**
		 * 移动 
		 * @param x x坐标
		 * @param y y坐标
		 * 
		 */		
		function move(x:Number, y:Number):void;
		
		/**
		 * 移除所有子对象 
		 * 
		 */		
		function removeAllChildren():void;
		
		/**
		 * 移除所有监听，此方法将移除所有监听，包括对象自带的监听
		 * 
		 */		
		function removeAllListener():void;
		
		/**
		 * 鼠标状态 
		 * 
		 */		
		function get mouseStatus():String;
		
		/**
		 * 皮肤状态 
		 * 
		 */		
		function get skinStatus():String;
		
		/**
		 * 皮肤绘制器
		 * @param value
		 * 
		 */		
		function set skin(value:ISkin):void;
		function get skin():ISkin;
		
		/**
		 * 布局管理器 
		 * @param value
		 * 
		 */		
		function set layout(value:ILayout):void;
		function get layout():ILayout;
		
		/**
		 * 是否可用 
		 * @param value
		 * 
		 */		
		function set enable(value:Boolean):void;
		function get enable():Boolean;
		
	}
}